package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 培训对象 training_plan
 * 
 * @author fyt
 * @date 2025-03-03
 */
public class TrainingPlan extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 项目编号 */
    @Excel(name = "项目编号")
    private String projectNumber;

    /** 培训项目 */
    @Excel(name = "培训项目")
    private String trainingProject;

    /** 计划类别 */
    @Excel(name = "计划类别")
    private String planType;

    /** 培训时间 */
    private String trainingTime;

    /** 组织部门科室 */
    @Excel(name = "组织部门科室")
    private String organizingDepartment;

    /** 实施部门科室 */
    @Excel(name = "实施部门科室")
    private String implementingDepartment;

    /** 培训对象 */
    @Excel(name = "培训对象")
    private String trainingTarget;

    /** 计划参训人数(人) */
    private Long plannedParticipants;

    /** 培训地点 */
    private String trainingLocation;

    /** 培训方式 */
    private String trainingMethod;

    /** 培训分类 */
    private String trainingClassification;

    /** 培训课时(小时) */
    private Long trainingHours;

    /** 培训师资 */
    private String training师资;

    /** 培训方向 */
    private String trainingDirection;

    /** 培训类别 */
    private String trainingCategory;

    /** 备注 */
    private String remarks;

    /** 差旅费(元) */
    private BigDecimal travelExpenses;

    /** 培训费(元) */
    private BigDecimal trainingFees;

    /** 总预算(元) */
    private BigDecimal totalBudget;

    /** 培训材料，可记录上传文件相关信息 */
    private String trainingMaterials;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date creationTime;

    /** 执行情况 */
    @Excel(name = "执行情况")
    private String executionStatus;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setProjectNumber(String projectNumber) 
    {
        this.projectNumber = projectNumber;
    }

    public String getProjectNumber() 
    {
        return projectNumber;
    }
    public void setTrainingProject(String trainingProject) 
    {
        this.trainingProject = trainingProject;
    }

    public String getTrainingProject() 
    {
        return trainingProject;
    }
    public void setPlanType(String planType) 
    {
        this.planType = planType;
    }

    public String getPlanType() 
    {
        return planType;
    }
    public void setTrainingTime(String trainingTime)
    {
        this.trainingTime = trainingTime;
    }

    public String getTrainingTime()
    {
        return trainingTime;
    }
    public void setOrganizingDepartment(String organizingDepartment) 
    {
        this.organizingDepartment = organizingDepartment;
    }

    public String getOrganizingDepartment() 
    {
        return organizingDepartment;
    }
    public void setImplementingDepartment(String implementingDepartment) 
    {
        this.implementingDepartment = implementingDepartment;
    }

    public String getImplementingDepartment() 
    {
        return implementingDepartment;
    }
    public void setTrainingTarget(String trainingTarget) 
    {
        this.trainingTarget = trainingTarget;
    }

    public String getTrainingTarget() 
    {
        return trainingTarget;
    }
    public void setPlannedParticipants(Long plannedParticipants) 
    {
        this.plannedParticipants = plannedParticipants;
    }

    public Long getPlannedParticipants() 
    {
        return plannedParticipants;
    }
    public void setTrainingLocation(String trainingLocation) 
    {
        this.trainingLocation = trainingLocation;
    }

    public String getTrainingLocation() 
    {
        return trainingLocation;
    }
    public void setTrainingMethod(String trainingMethod) 
    {
        this.trainingMethod = trainingMethod;
    }

    public String getTrainingMethod() 
    {
        return trainingMethod;
    }
    public void setTrainingClassification(String trainingClassification) 
    {
        this.trainingClassification = trainingClassification;
    }

    public String getTrainingClassification() 
    {
        return trainingClassification;
    }

    public Long getTrainingHours() {
        return trainingHours;
    }

    public void setTrainingHours(Long trainingHours) {
        this.trainingHours = trainingHours;
    }

    public void setTraining师资(String training师资)
    {
        this.training师资 = training师资;
    }

    public String getTraining师资()
    {
        return training师资;
    }
    public void setTrainingDirection(String trainingDirection)
    {
        this.trainingDirection = trainingDirection;
    }

    public String getTrainingDirection() 
    {
        return trainingDirection;
    }
    public void setTrainingCategory(String trainingCategory) 
    {
        this.trainingCategory = trainingCategory;
    }

    public String getTrainingCategory() 
    {
        return trainingCategory;
    }
    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }
    public void setTravelExpenses(BigDecimal travelExpenses) 
    {
        this.travelExpenses = travelExpenses;
    }

    public BigDecimal getTravelExpenses() 
    {
        return travelExpenses;
    }
    public void setTrainingFees(BigDecimal trainingFees) 
    {
        this.trainingFees = trainingFees;
    }

    public BigDecimal getTrainingFees() 
    {
        return trainingFees;
    }
    public void setTotalBudget(BigDecimal totalBudget) 
    {
        this.totalBudget = totalBudget;
    }

    public BigDecimal getTotalBudget() 
    {
        return totalBudget;
    }
    public void setTrainingMaterials(String trainingMaterials) 
    {
        this.trainingMaterials = trainingMaterials;
    }

    public String getTrainingMaterials() 
    {
        return trainingMaterials;
    }
    public void setCreationTime(Date creationTime) 
    {
        this.creationTime = creationTime;
    }

    public Date getCreationTime() 
    {
        return creationTime;
    }
    public void setExecutionStatus(String executionStatus) 
    {
        this.executionStatus = executionStatus;
    }

    public String getExecutionStatus() 
    {
        return executionStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("projectNumber", getProjectNumber())
            .append("trainingProject", getTrainingProject())
            .append("planType", getPlanType())
            .append("trainingTime", getTrainingTime())
            .append("organizingDepartment", getOrganizingDepartment())
            .append("implementingDepartment", getImplementingDepartment())
            .append("trainingTarget", getTrainingTarget())
            .append("plannedParticipants", getPlannedParticipants())
            .append("trainingLocation", getTrainingLocation())
            .append("trainingMethod", getTrainingMethod())
            .append("trainingClassification", getTrainingClassification())
            .append("trainingHours", getTrainingHours())
            .append("training师资", getTraining师资())
            .append("trainingDirection", getTrainingDirection())
            .append("trainingCategory", getTrainingCategory())
            .append("remarks", getRemarks())
            .append("travelExpenses", getTravelExpenses())
            .append("trainingFees", getTrainingFees())
            .append("totalBudget", getTotalBudget())
            .append("trainingMaterials", getTrainingMaterials())
            .append("creationTime", getCreationTime())
            .append("executionStatus", getExecutionStatus())
            .toString();
    }
}
